Closed-loop MIMO aims to significantly improve throughput and reliability of nomadic user equipment (UEs).
Pre-coding is proposed in UMTS (Universal Mobile Telecommunications System) LTE (Long Term Evolution) as one of the main approaches for closed-loop MIMO. Systems that employ pre-coding multiply a data symbol vector {right arrow over (s)} containing one element per transmit antenna by a pre-coding matrix F prior to transmission. The received signal is defined by {right arrow over (r)}=HF{right arrow over (s)}+{right arrow over (n)}, where H is the channel matrix, and {right arrow over (n)} is noise. For a system with two transmit antennas and two receive antennas, {right arrow over (r)}, {right arrow over (s)}, {right arrow over (n)} are vectors with two elements each, H is a 2×2 matrix, and F is a 2×2 matrix. The pre-coding matrix F is chosen from a group of predefined matrixes that is called a codebook {F}. In some cases the receiver tells the transmitter which pre-coding matrix to use. For FDD (frequency division duplex) air interfaces the information identifying a pre-coding matrix may be fed back through either channel sounding approaches or codebook index approaches. TDD (time division systems) may also use the codebook based approach. A detailed example of in approach to pre-coding for MIMO transmission is described in it. J. Love, et al, “Limited Feedback Unitary Pre-coding for Spatial Multiplexing Systems”, IEEE Trans. Inf. Theory, vol. 51, no. 8, pp. 2967-2976, August 2005.
Codebook index feedback involves the receiver signalling to the transmitter an index of which pre-coding matrix to use (so-called codeword index). There are a plurality of indexes each corresponding to a respective pre-coding matrix. One problem, however, is that codebook index feedback approaches use a large amount of uplink radio resources.
Another problem occurs for common pilot based pre-coding schemes. In a common pilot based scheme, the pilots are not pre-coded, and hence have different channel matrices from the data. If the receiver knows the pre-coding matrices used by the transmitter in such scenarios, it can reconstruct the channel matrix with pre-coding effects. When the data channel matrix can be correctly reconstructed, data can be correctly decoded. If, however, the receiver uses a different pre-coding matrix from the transmitter, the constructed effective data channel matrix will be wrong. As a result detected data will be useless due to incorrect channel references. In this case the incorrectly detected data cannot be used for H-ARQ purposes either.
An example of the common pilot approach is shown in FIG. 1 for a two transmit antenna case. In FIG. 1 (and other Figures described below), the horizontal axis 210 is frequency (OFDM (Orthogonal Frequency Division Multiplexing) sub-carriers) and the vertical axis 212 is time (OFDM symbols). Each small circle represents a transmission on a particular sub-carrier over a particular OFDM symbol duration. In locations 214, pilots are transmitted by a first transmit antenna Tx-1, and in locations 216, pilots are transmitted by a second transmit antenna Tx-2. Remaining locations are available for data transmission by both antennas. In the illustrated example, data includes pre-coded data 218 for a first UE (UE-1), and pre-coded data 220 for a second UE (UE-2). Typically, the pre-coding applied for pre-coded data 218 will be different from that applied for pre-coded data 220. With the common pilot approach, the same pilots are used for both UEs and hence they cannot be pre-coded.
In some existing approaches, the codeword index is fed back in a differential manner. In other words the difference between a current index and a previous index is fed back rather than the codeword index per se. Another problem with common pilot based closed-loop MIMO schemes relates to errors that occur in the transmission of the differential codeword index. Closed-loop MIMO is typically intended for nomadic UEs for whom channel conditions will not change very quickly. For each given currently used pre-coding matrix, a small subset of possible next codewords is defined, for example those that would most likely be selected from the full set due to slow channel variation. This subset of codewords can be determined in several ways, such as spatial correlation and matrix correlation. If an index associated with this subset is fed back rather than an index from the entire set of codewords, fewer bits are needed. However, if a feedback error occurs the transmitter will keep using the wrong subsets for subsequent pre-coding updates. That is to say feedback error propagates in differential codeword index feedback. Consider the following example. Suppose that the transmitter and receiver are synchronized at the beginning, and both use codeword V0. Now with the differential codebook index feedback, the new codeword would be V1, which is in the small differential codebook associated with V0. Since an error occurred, the transmitter thinks that it should use V2, which is also from the small codebook associated with V0. For the next feedback, the receiver will feed back a differential index associated with V1, but the transmitter will get the new codeword from the differential codebook associated with V2, and this goes on and on. This is how error gets propagated.
To address this error propagation problem, it has been proposed to periodically reset by transmitting a whole codeword index to correct possible feedback errors. However, this raises more problems than it solves. To begin, the whole codeword can be wrong, and hence error propagates. The resetting is a random process: the reset can begin despite no errors occurring, and may not be done when an error does occur. To make the probability of error propagation low, a large number of resets is required and this quickly diminishes the benefit of differential codeword index feedback. To completely eliminate error propagation, a reset is performed each time, in which case it will cease to be a differential index feedback approach.
Dedicated pilot based schemes suffer shortcomings as well. In a dedicated pilot based scheme, pilots can be pre-coded, and hence have the same channel matrices as data. One problem, however, is that since each UE trying to communicate with a base transceiver station (BTS) does not know what pre-coding matrix is being used by other UEs, the UE is unable to monitor the channel. More specifically, they do not know which pre-coding matrix is being used, do not know the rank of the current channel, cannot estimate per-layer based signal to interference noise ratio (SINR), and are unable to do channel dependent scheduling, to name a few examples.
An example of the dedicated pilot approach is shown in FIG. 2 for a two transmit antenna case. In locations 222,224, dedicated pilots specific to the first UE are transmitted by a first transmit antenna Tx-1 and second antenna Tx-2 respectively. In locations 226,228, dedicated pilots specific to the second UE are transmitted by a first transmit antenna Tx-1 and second antenna Tx-2 respectively. Remaining locations are available for data transmission by both antennas. In the illustrated example, data includes pre-coded data 230 for a first UE (UE-1), and pre-coded data 232 for a second UE (UE-2). Typically, the pre-coding applied for pre-ceded data 230 will be different from that applied for pre-coded data 230. With the dedicated pilot approach, different pilots are used for each UE in the sense that they are pre-coded using the sane pre-coding matrix as used for the data for each user.
Since both pilot and data go through the same channel, a dedicated pilot scheme is more resilient to codeword index feedback error than common pilot based schemes. Feedback causes performance degradation, but the decoded data can still be used for H-ARQ.
As indicated above, for dedicated pilot based approaches differential feedback error propagates, but the consequences are less severe than in the common pilot case for the UE of interest. However, some of the benefit of pre-coding with all the uplink feedback is lost. Since now the pre-coding matrix is wrong, which is equivalent to a random matrix, HF will have the same properties as H. This means pre-coding is equivalent to no pre-coding, and hence the benefit is lost. When the pre-coding matrix becomes random, the system behaves like an open loop system. Finally, a wrong per-layer based power allocation can further hamper system performance.